package com.gxa.mapper;

import com.gxa.entity.DistrictSysRole;
import com.gxa.entity.DistrictSysUser;

import java.util.List;
import java.util.Map;

public interface RoleMapper {

    /**
     * 查询所有角色
     * @return
     */
    List<DistrictSysRole> selectAllRoles();

    /**
     * 根据角色名称查询角色信息
     * @param roleName
     * @return
     */
    DistrictSysRole selectRoleByName(String roleName);

    /**
     * 添加角色
     * @param districtSysRole
     * @return
     */
    int insertRole(DistrictSysRole districtSysRole);

    /**
     * 向角色权限关系表中添加记录
     * @param map
     * @return
     */
    int insertRoleAndPermission(Map map);

    /**
     * 根据角色编号删除角色
     * @param roleId
     * @return
     */
    int deleteRole(int roleId);

    /**
     * 根据角色编号删除角色和权限关系表中对应的信息
     * @param roleId
     * @return
     */
    int deleteRoleAndPermission(int roleId);

    /**
     * 根据角色编号查询角色信息
     * @param roleId
     * @return
     */
    DistrictSysRole selectRoleById(int roleId);

    /**
     * 添加角色，具有固定的编号
     * @param districtSysRole
     * @return
     */
    int insertRoleWithFixedId(DistrictSysRole districtSysRole);

    /**
     * 根据角色名修改角色关联的账号数 原关联账号数+1
     * @param map
     * @return
     */
    int updateUserNumberByRoleName(Map map);

    List<DistrictSysUser> selectDistrictUsersByRoleId(int id);
}
